Automatic control techniques are highly useful in a variety of applications including industrial manufacturing applications, numerically controlled machining systems and automated aircraft and ship navigation systems. A large amount of early control theory and design work focussed on linear systems. In such control systems, a key assumption must be made that the system operates over a small, closely controlled range in which system output is linearly related to the control parameters. In many cases a linear controller operates satisfactorily and extensive work has been done concerning the theory and design of such controllers.
However, in many other cases, especially when the range of required operation is large, the linear controller performs poorly or is unstable because nonlinearities in the system are not properly compensated. As an example, when a linear controller is used to control the operation of a robot arm in a manufacturing operation, the linear theoretic model used to design the control system for the robot, neglects the inevitably nonlinear forces associated with the mechanical motions of the arm. Consequently, the controller's accuracy quickly degrades as the movement speed of the robot arm increases. Consequently, in order to achieve a prespecified accuracy in even simple robot tasks such as machine tool replacement or object movement, the use of a linear controller requires that the speed of motion and, accordingly, the overall productivity, be restricted to a low range.
It is possible to design simple nonlinear controllers which can compensate for the nonlinear forces involved in many conditions to produce accurate operation over a large operating range. Consequently, productivity of such a system can be substantially increased by the use of such a nonlinear controller. However, in some control systems, such as the aforementioned robot arm, some of the parameters which drive the system are not known or cannot be easily predicted at the beginning of the control operation. For example, a robot arm may have to manipulate loads of various sizes, weights and mass distributions. Consequently, the initial and dynamic forces associated with the varying loads are not well known before the robot system operates. Even if a nonlinear controller is used, if the controller has constant gains incorporated into the control mechanism, the robot motion may become very inaccurate or unstable.
In other systems, for example, power systems and auto-navigation systems, the controlling parameters may be well understood at the beginning of control operation. However, unpredictable parameter variations may occur as the control operation proceeds. Unless the controller is continually changed during actual operation to accommodate these parameter variations, a controller design which is initially accurate and stable may not be able to control the system properly to compensate for all changes in the parameters. Consequently, a class of control systems known as adaptive control systems has been designed for these latter situations.
An adaptive control system that continuously "redesigns" the controller during operation can compensate for unexpected or unpredictable changes in the system parameters. For example, an adaptive control system can be used to control a robot arm to manipulate various loads by changing the motion parameters of the arm according to a sensed load condition.
Adaptive control systems are also useful for automatic navigation systems such as ship steering systems in which the characteristics of the ship depend on many uncertain and unpredictable parameters such as water, depth, ship loading and wind and wave conditions. Another field in which adaptive control systems have been profitably used is aircraft control in which the characteristics of the airplane depend on its altitude, wind speed, aircraft speed, and ground configuration. Adaptive systems have also been used in process control in which batches of materials must be processed. The adaptive systems can compensate for changes in the parameters which characterize the system from batch to batch.
In general, an adaptive control system is similar to a conventional control system in that the output of the system under control (called the "plant") is fed back to the controller which then generates a control output for the plant. However, an adaptive controller differs from an ordinary controller in that the parameters of the controller itself are variable and an "adaptation mechanism" is provided to adjust the controller parameters based on signals which are measured during on-line operation of the plant.
For linear systems, there are two conventional design structures for an adaptive controller. The first of these structures is called the "Model Reference Adaptive Control" (MRAC) structure and is composed of four main parts: the plant (which contains unknown or unpredictable parameters), a reference model which responds to a reference input to produce desired outputs which are theoretically the ideal response of the plant to the reference input, a parameterized controller which generates the control inputs to the plant and which is characterized by adjustable parameters, and an adaption mechanism which changes the adjustable parameters. During system operation, the reference model output is subtracted from the plant output to produce a "tracking error". The tracking error is provided to the adaption mechanism which then adjusts the controller parameters to minimize the tracking error.
There are two conventional types of adaption mechanisms. One type of mechanism estimates the plant parameters and then computes the controller parameters from the estimated plant parameters and is called an "indirect" system. The other type of adaption mechanism computes the controller parameters directly from the tracking error and plant output and is called a "direct" system.
The second type of adaptive control structure commonly used with linear systems is called a self-tuning controller (STC). This structure consists of the plant, a parameterized controller which generates the control inputs to the plant and which is characterized by adjustable parameters, and an estimator circuit which computes the controller parameters from estimated plant parameters. Both the control input to the plant and the output from the plant are provided to the estimator circuit which generates a set of controller parameters that are appropriate to the plant input and output data. As with the MRAC system, there are two conventional types of estimator circuits: an "indirect" circuit and a "direct" circuit.
It even proves possible to extend slightly the MRAC and STC systems for certain classes of non-linear systems. All of these designs have depended crucially upon the existence of a known linear parameterization of the uncertainty in the plant dynamics. This implies that the exact form of the dynamic equations which govern plant operation are known, but some of the parameters of the equations may not be known. If the plant dynamics are known, it is possible, in many cases, with conventional linear adaptive design theory to design a control system which will be both stable and accurate.
The above methods cannot be used if the exact parameterization is unknown or if the uncertainty cannot be parameterized linearly. Some prior art attempts were made to design adaptive controllers in the absence of linear parameterizations based on "intuitive" design techniques. A well-known example of this type of analysis involves the use of the so-called "gradient" techniques which attempted to control a plant by minimizing a pre-defined "cost" function. These techniques were not based on an underlying mathematical theory which could be used to prove that the systems would be stable under all conditions. Consequently, these attempts appeared to work during simulations or in the laboratory, but failed in actual control situations in which other variables which were not modeled contributed significantly to the overall system performance.
Recently, some prior art suggestions have been made to use a neural network to overcome the need for a linear-parameterization model. In many schemes, the neural network is first "trained" by providing it with a selected set of pre-recorded data about plant inputs and corresponding outputs. After the network is trained, it is used to generate a model of the plant. In theory, the trained network should provide an accurate estimate of the plant output to an input not previously provided to it and the network could then be used to design the required controllers.
The problem with this latter arrangement was that the prior art methods that were used to "train" the network were back-propagation methods which were essentially similar to the previously-used "gradient" methods. Consequently, these latter techniques suffered from the same problems as the prior gradient techniques. In particular, since there was no underlying proof of stability, systems which performed well in the laboratory might become unstable in real-world operations. Further, these design techniques never considered the effect of operation outside a carefully-defined operating range, so that the resulting system would be unable to handle disturbances which cause it to stray outside the defined range.
Other attempts were made to train the neural network by connecting the network to the actual plant inputs and outputs as the plant operated in actual use. Various schemes were then devised to use the trained network "on-line" in a feed-forward control system. Such systems were still prone to inaccuracies or instabilities due to unexpected situations and, due to the lack of an underlying theory, there was no known way to correctly specify the network parameters such as the number of layers necessary or the number of nodes per layer which would be necessary to guarantee stability.
Accordingly, it is an object of the present invention to provide an adaptive control system which can be proven to be stable even though the linear parameterizations of the plant dynamics are not known.
It is another object of the present invention to provide an adaptive control system which can be designed using only basic information regarding the "smoothness" of the plant dynamics, which smoothness can be ascertained using conventional Fourier techniques.
It is still another object of the present invention to provide an adaptive control system which can specify the number of layers in a neural network and the number of nodes necessary to guarantee stability based on the amount of tracking error that can be tolerated.
It is yet another object of the present invention to provide an adaptive control system which uses adaptive control techniques within a normal plant operating range, but which is stable even though plant operating characteristics occur outside of the normal operating range.
It is a further object of the present invention to provide an adaptive control system which smoothly switches from an adaptive control strategy to an alternate control strategy when the adaptive control strategy fails.